home *** CD-ROM | disk | FTP | other *** search
- (******************************
- * Programm von Dieter Seidel *
- * Eingegeben am 14.11.1991 *
- * Berechnet die Quadrupel- *
- * darstellung eines einge- *
- * gebenen while-Programs und *
- * fuehrt dieses dann aus. *
- ******************************)
-
- (* Schreiben Sie ein Pascal-Programm, das auf Eingabe eines standardisierten *
- * while-Programmes dessen Quadrupel-Darstellung berechnet. *
- * Unter einem standardisierten while-Programm verstehen wir ein Programm, *
- * in demm begin-end-Konstrukte immer in der Form *
- * *
- * while X # Y do begin ... end *
- * *
- * und nur dort vorkommen (ausser dem begin-end, in das das gesamte Programm *
- * eingeschlossen ist). *
- * *
- * Zeitbedarf: *
- * *
- * Programm bX1:255;X2:255;U3e --> Multipliziere 255*255 *
- * Anweisungen : 195589 Zeit : 364 Sekunden *
- * ---> 537 Anweisungen pro Sekunde *)
-
- MODULE Quad;
-
- FROM InOut IMPORT Echo, WriteLn, WriteString;
- FROM QuadBerechneQuad IMPORT BerechneQuad;
- FROM QuadLese IMPORT arrList, arrQuad, Lese;
- FROM QuadDrucke IMPORT Drucke;
- FROM JaNein IMPORT JaNein;
-
- FROM QuadInterpreter IMPORT Interpreter;
- FROM QuadTester IMPORT Tester;
-
-
- VAR BefehlsListe : arrList;
- QuadListe : arrQuad;
-
- BEGIN
- Echo:=FALSE;
- WriteLn;WriteLn;
- WriteString("Dieses Programm wandelt ein eingegebenes while-Programm");
- WriteLn;
- WriteString("in die zugehoerige Quadrupel-Liste;");
- WriteString(" gemaess der Definition nach");
- WriteLn;
- WriteString("Kfoury, Moll und Arbib im Buch 'A Programming Approach to");
- WriteLn;
- WriteString("Computability (Seite 55 bis 58).");WriteLn;
- WriteLn;
-
- WriteString("Soll diese Programm mit vorgegebenen while-Programmen ");
- WriteString("getestet werden ? ");
- IF JaNein() THEN
- IF Tester() THEN
- WriteLn;
- WriteString("Es sind keine Fehler aufgetreten.");
- WriteLn;
- END;
- ELSE
- Lese(BefehlsListe);
- BerechneQuad(BefehlsListe,QuadListe);
- Drucke(BefehlsListe,QuadListe);
- Interpreter(QuadListe);
- END;
- WriteLn;
- WriteLn;
- END Quad.
-